home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 January: Mac OS SDK / Dev.CD Jan 96 SDK / Dev.CD Jan 96 SDK1.toast / Development Kits (Disc 1) / Display Manager / Compiler & Runtime Files / • New universal header files • / AIncludes / Displays.a next >
Encoding:
Text File  |  1995-07-18  |  26.3 KB  |  1,040 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Displays.a
  3. ;
  4. ;    Contains:    Display Manager Interfaces.
  5. ;
  6. ;     Version:    Technology:    System 7.5
  7. ;                 Package:    Universal Interfaces in “Display Manager Development Kit” (post ETO #18)
  8. ;     Copyright:    © 1984-1995 by Apple Computer, Inc.
  9. ;                 All rights reserved.
  10. ;     Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  11. ;                 stack.  Include the file and version information (from above)
  12. ;                 in the problem description and send to:
  13. ;                     Internet:    apple.bugs@applelink.apple.com
  14. ;                     AppleLink:    APPLE.BUGS
  15. ;
  16. ;
  17.  
  18.     IF &TYPE('__DISPLAYS__') = 'UNDEFINED' THEN
  19. __DISPLAYS__ SET 1
  20.  
  21.  
  22.     IF &TYPE('__CONDITIONALMACROS__') = 'UNDEFINED' THEN
  23.     include 'ConditionalMacros.a'
  24.     ENDIF
  25.  
  26.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  27.     include 'Components.a'
  28.     ENDIF
  29. ;        include 'Types.a'                                            ;
  30. ;        include 'MixedMode.a'                                        ;
  31.  
  32.     IF &TYPE('__VIDEO__') = 'UNDEFINED' THEN
  33.     include 'Video.a'
  34.     ENDIF
  35. ;        include 'Quickdraw.a'                                        ;
  36. ;            include 'QuickdrawText.a'                                ;
  37.     IF 0 THEN
  38.  
  39.  
  40.     IF &TYPE('__APPLEEVENTS__') = 'UNDEFINED' THEN
  41.     include 'AppleEvents.a'
  42.     ENDIF
  43. ;        include 'Errors.a'                                            ;
  44. ;        include 'Memory.a'                                            ;
  45. ;        include 'OSUtils.a'                                        ;
  46. ;        include 'Events.a'                                            ;
  47. ;        include 'EPPC.a'                                            ;
  48. ;            include 'AppleTalk.a'                                    ;
  49. ;            include 'Files.a'                                        ;
  50. ;                include 'Finder.a'                                    ;
  51. ;            include 'PPCToolbox.a'                                    ;
  52. ;            include 'Processes.a'                                    ;
  53. ;        include 'Notification.a'                                    ;
  54.  
  55.     IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
  56.     include 'Windows.a'
  57.     ENDIF
  58. ;        include 'Controls.a'                                        ;
  59. ;            include 'Menus.a'                                        ;
  60.  
  61.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  62.     include 'Events.a'
  63.     ENDIF
  64.  
  65.     IF &TYPE('__PROCESSES__') = 'UNDEFINED' THEN
  66.     include 'Processes.a'
  67.     ENDIF
  68.  
  69.     IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
  70.     include 'Dialogs.a'
  71.     ENDIF
  72. ;        include 'TextEdit.a'                                        ;
  73.     ENDIF
  74.  
  75.  
  76. ; AppleEvents Core Suite 
  77. kAESystemConfigNotice            EQU        'cnfg'
  78. ; Core Suite types 
  79. kAEDisplayNotice                EQU        'dspl'
  80. kAEDisplaySummary                EQU        'dsum'
  81. keyDMConfigVersion                EQU        'dmcv'
  82. keyDMConfigFlags                EQU        'dmcf'
  83. keyDMConfigReserved                EQU        'dmcr'
  84. keyDisplayID                    EQU        'dmid'
  85. keyDisplayComponent                EQU        'dmdc'
  86. keyDisplayDevice                EQU        'dmdd'
  87. keyDisplayFlags                    EQU        'dmdf'
  88. keyDisplayMode                    EQU        'dmdm'
  89. keyDisplayModeReserved            EQU        'dmmr'
  90. keyDisplayReserved                EQU        'dmdr'
  91. keyDisplayMirroredId            EQU        'dmmi'
  92. keyDeviceFlags                    EQU        'dddf'
  93. keyDeviceDepthMode                EQU        'dddm'
  94. keyDeviceRect                    EQU        'dddr'
  95. keyPixMapRect                    EQU        'dpdr'
  96. keyPixMapHResolution            EQU        'dphr'
  97. keyPixMapVResolution            EQU        'dpvr'
  98. keyPixMapPixelType                EQU        'dppt'
  99. keyPixMapPixelSize                EQU        'dpps'
  100. keyPixMapCmpCount                EQU        'dpcc'
  101. keyPixMapCmpSize                EQU        'dpcs'
  102. keyPixMapAlignment                EQU        'dppa'
  103. keyPixMapResReserved            EQU        'dprr'
  104. keyPixMapReserved                EQU        'dppr'
  105. keyPixMapColorTableSeed            EQU        'dpct'
  106. keySummaryMenubar                EQU        'dsmb'
  107. keySummaryChanges                EQU        'dsch'
  108. keyDisplayOldConfig                EQU        'dold'
  109. keyDisplayNewConfig                EQU        'dnew'
  110.  
  111. dmOnlyActiveDisplays            EQU        true
  112. dmAllDisplays                    EQU        false
  113.  
  114. ; Switch Flags 
  115. kNoSwitchConfirmBit                EQU        0                    ; Flag indicating that there is no need to confirm a switch to this mode 
  116. kDepthNotAvailableBit            EQU        1                    ; Current depth not available in new mode 
  117. kShowModeBit                    EQU        3                    ; Show this mode even though it requires a confirm. 
  118. kModeNotResizeBit                EQU        4                    ; Do not use this mode to resize display (for cards that mode drives a different connector). 
  119.  
  120. ;    Summary Change Flags (sticky bits indicating an operation was performed)
  121. ;    For example, moving a display then moving it back will still set the kMovedDisplayBit.
  122. ;
  123. kBeginEndConfigureBit            EQU        0
  124. kMovedDisplayBit                EQU        1
  125. kSetMainDisplayBit                EQU        2
  126. kSetDisplayModeBit                EQU        3
  127. kAddDisplayBit                    EQU        4
  128. kRemoveDisplayBit                EQU        5
  129. kNewDisplayBit                    EQU        6
  130. kDisposeDisplayBit                EQU        7
  131. kEnabledDisplayBit                EQU        8
  132. kDisabledDisplayBit                EQU        9
  133. kMirrorDisplayBit                EQU        10
  134. kUnMirrorDisplayBit                EQU        11
  135.  
  136. ; Notification Messages for extended call back routines 
  137. kDMNotifyInstalled                EQU        1                    ; At install time 
  138. kDMNotifyEvent                    EQU        2                    ; Post change time 
  139. kDMNotifyRemoved                EQU        3                    ; At remove time 
  140. kDMNotifyPrep                    EQU        4                    ; Pre change time 
  141. kDMNotifyExtendEvent            EQU        5                    ; Allow registrees to extend apple event before it is sent 
  142. kDMNotifyDependents                EQU        6                    ; Minor notification check without full update 
  143. kDMNotifySuspendConfigure        EQU        7                    ; Temporary end of configuration 
  144. kDMNotifyResumeConfigure        EQU        8                    ; Resume configuration 
  145. ; Notification Flags 
  146. kExtendedNotificationProc        EQU        (1 << 16)
  147.  
  148. ; types for notifyType 
  149. kFullNotify                        EQU        0                    ; This is the appleevent whole nine yards notify 
  150. kFullDependencyNotify            EQU        1                    ; Only sends to those who want to know about interrelated functionality (used for updating UI) 
  151.  
  152. ; DisplayID/DeviceID constants 
  153. kDummyDeviceID                    EQU        $0FF                ; This is the ID of the dummy display, used when the last “real” display is disabled.
  154. kInvalidDisplayID                EQU        $000                ; This is the invalid ID
  155. kFirstDisplayID                    EQU        $100
  156.  
  157. ; bits for panelListFlags 
  158. kAllowDuplicatesBit                EQU        0
  159.  
  160. ; bits for nameFlags 
  161. kSuppressNumberBit                EQU        0
  162. kSuppressNumberMask                EQU        1
  163. kForceNumberBit                    EQU        1
  164. kForceNumberMask                EQU        2
  165. kSuppressNameBit                EQU        2
  166. kSuppressNameMask                EQU        4
  167.  
  168. ; Constants for fidelity checks 
  169. kNoFidelity                        EQU        0
  170. kMinimumFidelity                EQU        1
  171. kDefaultFidelity                EQU        500                    ; I'm just picking a number for Apple default panels and engines
  172. kDefaultManufacturerFidelity    EQU        1000                ; I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)
  173.  
  174. kAnyPanelType                    EQU        0                    ; Pass to DMNewEngineList for list of all panels (as opposed to specific types)
  175. kAnyEngineType                    EQU        0                    ; Pass to DMNewEngineList for list of all engines
  176. kAnyDeviceType                    EQU        0                    ; Pass to DMNewDeviceList for list of all devices
  177. kAnyPortType                    EQU        0                    ; Pass to DMNewDevicePortList for list of all devices
  178.  
  179. ; portListFlags for DM_NewDevicePortList 
  180. ; Should offline devices be put into the port list (such as dummy display) 
  181. kPLIncludeOfflineDevicesBit        EQU        0
  182.  
  183. ; typedef unsigned long     DMFidelityType
  184. ; AVID is an ID for ports and devices the old DisplayID type
  185. ;    is carried on for compatibility
  186. ;
  187. ; typedef unsigned long     AVIDType
  188. ; typedef AVIDType             DisplayIDType
  189. ; typedef void                 *DMListType
  190. ; typedef unsigned long     DMListIndexType
  191. ; typedef VDPowerStateRec     AVPowerStateRec
  192. ; typedef VDPowerStateRec     *AVPowerStatePtr
  193. DMComponentListEntryRec RECORD    0
  194. itemID                     ds.l   1        ; offset: $0 (0)        ; DisplayID Manager
  195. itemComponent             ds.l   1        ; offset: $4 (4)        ; Component Manager
  196. itemDescription             ds     ComponentDescription ; offset: $8 (8) ; We can always construct this if we use something beyond the compontent mgr.
  197. itemClass                 ds.l   1        ; offset: $1C (28)        ; Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)
  198. itemFidelity             ds.l   1        ; offset: $20 (32)        ; How good is this item for the specified search?
  199. itemSubClass             ds.l   1        ; offset: $24 (36)        ; Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel)
  200. itemSort                 ds     Point    ; offset: $28 (40)        ; Set to 0 - future to sort the items in a sub group.
  201. itemFlags                 ds.l   1        ; offset: $2C (44)        ; Set to 0 (future expansion)
  202. itemReserved             ds.l   1        ; offset: $30 (48)        ; What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only)
  203. itemFuture1                 ds.l   1        ; offset: $34 (52)        ; Set to 0 (future expansion - probably an alternate code style)
  204. itemFuture2                 ds.l   1        ; offset: $38 (56)        ; Set to 0 (future expansion - probably an alternate code style)
  205. itemFuture3                 ds.l   1        ; offset: $3C (60)        ; Set to 0 (future expansion - probably an alternate code style)
  206. itemFuture4                 ds.l   1        ; offset: $40 (64)        ; Set to 0 (future expansion - probably an alternate code style)
  207. sizeof                     EQU *            ; size:   $44 (68)
  208.                         ENDR
  209.  
  210. ; typedef struct DMComponentListEntryRec  DMComponentListEntryRec
  211. ; typedef DMComponentListEntryRec  *DMComponentListEntryPtr
  212. ; ••• Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created
  213. AVLocationRec             RECORD    0
  214. locationConstant         ds.l   1        ; offset: $0 (0)        ; Set to 0 (future expansion - probably an alternate code style)
  215. sizeof                     EQU *            ; size:   $4 (4)
  216.                         ENDR
  217.  
  218. ; typedef struct AVLocationRec  AVLocationRec
  219. ; typedef AVLocationRec     *AVLocationPtr
  220. DMDepthInfoRec             RECORD    0
  221. depthSwitchInfo             ds.l   1        ; offset: $0 (0)        ; This is the switch mode to choose this timing/depth 
  222. depthVPBlock             ds.l   1        ; offset: $4 (4)        ; VPBlock (including size, depth and format) 
  223. depthFlags                 ds.l   1        ; offset: $8 (8)        ; Reserved 
  224. depthReserved1             ds.l   1        ; offset: $C (12)        ; Reserved 
  225. depthReserved2             ds.l   1        ; offset: $10 (16)        ; Reserved 
  226. sizeof                     EQU *            ; size:   $14 (20)
  227.                         ENDR
  228.  
  229. ; typedef struct DMDepthInfoRec  DMDepthInfoRec
  230. ; typedef DMDepthInfoRec     *DMDepthInfoPtr
  231. DMDepthInfoBlockRec     RECORD    0
  232. depthBlockCount             ds.l   1        ; offset: $0 (0)        ; How many depths are there? 
  233. depthVPBlock             ds.l   1        ; offset: $4 (4)        ; Array of DMDepthInfoRec 
  234. depthBlockFlags             ds.l   1        ; offset: $8 (8)        ; Reserved 
  235. depthBlockReserved1         ds.l   1        ; offset: $C (12)        ; Reserved 
  236. depthBlockReserved2         ds.l   1        ; offset: $10 (16)        ; Reserved 
  237. sizeof                     EQU *            ; size:   $14 (20)
  238.                         ENDR
  239.  
  240. ; typedef struct DMDepthInfoBlockRec  DMDepthInfoBlockRec
  241. ; typedef DMDepthInfoBlockRec  *DMDepthInfoBlockPtr
  242. DMDisplayModeListEntryRec RECORD    0
  243. displayModeFlags         ds.l   1        ; offset: $0 (0)
  244. displayModeSwitchInfo     ds.l   1        ; offset: $4 (4)
  245. displayModeResolutionInfo ds.l   1        ; offset: $8 (8)
  246. displayModeTimingInfo     ds.l   1        ; offset: $C (12)
  247. displayModeDepthBlockInfo ds.l   1        ; offset: $10 (16)        ; Information about all the depths
  248. displayModeReserved1     ds.l   1        ; offset: $14 (20)        ; Reserved
  249. displayModeName             ds.l   1        ; offset: $18 (24)        ; Name of the timing mode
  250. sizeof                     EQU *            ; size:   $1C (28)
  251.                         ENDR
  252.  
  253. ; typedef struct DMDisplayModeListEntryRec  DMDisplayModeListEntryRec
  254. ; typedef DMDisplayModeListEntryRec  *DMDisplayModeListEntryPtr
  255. DependentNotifyRec         RECORD    0
  256. notifyType                 ds.l   1        ; offset: $0 (0)        ; What type was the engine that made the change (may be zero)
  257. notifyClass                 ds.l   1        ; offset: $4 (4)        ; What class was the change (eg geometry, color etc)
  258. notifyPortID             ds.l   1        ; offset: $8 (8)        ; Which device was touched (kInvalidDisplayID -> all or none)
  259. notifyComponent             ds.l   1        ; offset: $C (12)        ; What engine did it (may be 0)?
  260. notifyVersion             ds.l   1        ; offset: $10 (16)        ; Set to 0 (future expansion)
  261. notifyFlags                 ds.l   1        ; offset: $14 (20)        ; Set to 0 (future expansion)
  262. notifyReserved             ds.l   1        ; offset: $18 (24)        ; Set to 0 (future expansion)
  263. notifyFuture             ds.l   1        ; offset: $1C (28)        ; Set to 0 (future expansion)
  264. sizeof                     EQU *            ; size:   $20 (32)
  265.                         ENDR
  266.  
  267. ; typedef struct DependentNotifyRec  DependentNotifyRec
  268. ; typedef DependentNotifyRec  *DependentNotifyPtr
  269. ; Exports to support Interfaces library containing unused calls 
  270. ;
  271. ; pascal GDHandle DMGetFirstScreenDevice(Boolean activeOnly)
  272. ;
  273.     IF ¬ GENERATINGCFM THEN
  274.         Macro
  275.         _DMGetFirstScreenDevice
  276.             moveq    #0,d0
  277.             dc.w     $ABEB
  278.         EndM
  279.     ELSE
  280.         IMPORT_CFM_FUNCTION    DMGetFirstScreenDevice
  281.     ENDIF
  282.  
  283. ;
  284. ; pascal GDHandle DMGetNextScreenDevice(GDHandle theDevice, Boolean activeOnly)
  285. ;
  286.     IF ¬ GENERATINGCFM THEN
  287.         Macro
  288.         _DMGetNextScreenDevice
  289.             moveq    #1,d0
  290.             dc.w     $ABEB
  291.         EndM
  292.     ELSE
  293.         IMPORT_CFM_FUNCTION    DMGetNextScreenDevice
  294.     ENDIF
  295.  
  296. ;
  297. ; pascal void DMDrawDesktopRect(Rect *globalRect)
  298. ;
  299.     IF ¬ GENERATINGCFM THEN
  300.         Macro
  301.         _DMDrawDesktopRect
  302.             moveq    #2,d0
  303.             dc.w     $ABEB
  304.         EndM
  305.     ELSE
  306.         IMPORT_CFM_FUNCTION    DMDrawDesktopRect
  307.     ENDIF
  308.  
  309. ;
  310. ; pascal void DMDrawDesktopRegion(RgnHandle globalRgn)
  311. ;
  312.     IF ¬ GENERATINGCFM THEN
  313.         Macro
  314.         _DMDrawDesktopRegion
  315.             moveq    #3,d0
  316.             dc.w     $ABEB
  317.         EndM
  318.     ELSE
  319.         IMPORT_CFM_FUNCTION    DMDrawDesktopRegion
  320.     ENDIF
  321.  
  322. ;
  323. ; pascal OSErr DMBeginConfigureDisplays(Handle *displayState)
  324. ;
  325.     IF ¬ GENERATINGCFM THEN
  326.         Macro
  327.         _DMBeginConfigureDisplays
  328.             move.w    #$0206,d0
  329.             dc.w     $ABEB
  330.         EndM
  331.     ELSE
  332.         IMPORT_CFM_FUNCTION    DMBeginConfigureDisplays
  333.     ENDIF
  334.  
  335. ;
  336. ; pascal OSErr DMEndConfigureDisplays(Handle displayState)
  337. ;
  338.     IF ¬ GENERATINGCFM THEN
  339.         Macro
  340.         _DMEndConfigureDisplays
  341.             move.w    #$0207,d0
  342.             dc.w     $ABEB
  343.         EndM
  344.     ELSE
  345.         IMPORT_CFM_FUNCTION    DMEndConfigureDisplays
  346.     ENDIF
  347.  
  348. ;
  349. ; pascal OSErr DMAddDisplay(GDHandle newDevice, short driver, unsigned long mode, unsigned long reserved, unsigned long displayID, Component displayComponent, Handle displayState)
  350. ;
  351.     IF ¬ GENERATINGCFM THEN
  352.         Macro
  353.         _DMAddDisplay
  354.             move.w    #$0D08,d0
  355.             dc.w     $ABEB
  356.         EndM
  357.     ELSE
  358.         IMPORT_CFM_FUNCTION    DMAddDisplay
  359.     ENDIF
  360.  
  361. ;
  362. ; pascal OSErr DMMoveDisplay(GDHandle moveDevice, short x, short y, Handle displayState)
  363. ;
  364.     IF ¬ GENERATINGCFM THEN
  365.         Macro
  366.         _DMMoveDisplay
  367.             move.w    #$0609,d0
  368.             dc.w     $ABEB
  369.         EndM
  370.     ELSE
  371.         IMPORT_CFM_FUNCTION    DMMoveDisplay
  372.     ENDIF
  373.  
  374. ;
  375. ; pascal OSErr DMDisableDisplay(GDHandle disableDevice, Handle displayState)
  376. ;
  377.     IF ¬ GENERATINGCFM THEN
  378.         Macro
  379.         _DMDisableDisplay
  380.             move.w    #$040A,d0
  381.             dc.w     $ABEB
  382.         EndM
  383.     ELSE
  384.         IMPORT_CFM_FUNCTION    DMDisableDisplay
  385.     ENDIF
  386.  
  387. ;
  388. ; pascal OSErr DMEnableDisplay(GDHandle enableDevice, Handle displayState)
  389. ;
  390.     IF ¬ GENERATINGCFM THEN
  391.         Macro
  392.         _DMEnableDisplay
  393.             move.w    #$040B,d0
  394.             dc.w     $ABEB
  395.         EndM
  396.     ELSE
  397.         IMPORT_CFM_FUNCTION    DMEnableDisplay
  398.     ENDIF
  399.  
  400. ;
  401. ; pascal OSErr DMRemoveDisplay(GDHandle removeDevice, Handle displayState)
  402. ;
  403.     IF ¬ GENERATINGCFM THEN
  404.         Macro
  405.         _DMRemoveDisplay
  406.             move.w    #$040C,d0
  407.             dc.w     $ABEB
  408.         EndM
  409.     ELSE
  410.         IMPORT_CFM_FUNCTION    DMRemoveDisplay
  411.     ENDIF
  412.  
  413. ;
  414. ; pascal OSErr DMSetMainDisplay(GDHandle newMainDevice, Handle displayState)
  415. ;
  416.     IF ¬ GENERATINGCFM THEN
  417.         Macro
  418.         _DMSetMainDisplay
  419.             move.w    #$0410,d0
  420.             dc.w     $ABEB
  421.         EndM
  422.     ELSE
  423.         IMPORT_CFM_FUNCTION    DMSetMainDisplay
  424.     ENDIF
  425.  
  426. ;
  427. ; pascal OSErr DMSetDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long *depthMode, unsigned long reserved, Handle displayState)
  428. ;
  429.     IF ¬ GENERATINGCFM THEN
  430.         Macro
  431.         _DMSetDisplayMode
  432.             move.w    #$0A11,d0
  433.             dc.w     $ABEB
  434.         EndM
  435.     ELSE
  436.         IMPORT_CFM_FUNCTION    DMSetDisplayMode
  437.     ENDIF
  438.  
  439. ;
  440. ; pascal OSErr DMCheckDisplayMode(GDHandle theDevice, unsigned long mode, unsigned long depthMode, unsigned long *switchFlags, unsigned long reserved, Boolean *modeOk)
  441. ;
  442.     IF ¬ GENERATINGCFM THEN
  443.         Macro
  444.         _DMCheckDisplayMode
  445.             move.w    #$0C12,d0
  446.             dc.w     $ABEB
  447.         EndM
  448.     ELSE
  449.         IMPORT_CFM_FUNCTION    DMCheckDisplayMode
  450.     ENDIF
  451.  
  452. ;
  453. ; pascal OSErr DMGetDeskRegion(RgnHandle *desktopRegion)
  454. ;
  455.     IF ¬ GENERATINGCFM THEN
  456.         Macro
  457.         _DMGetDeskRegion
  458.             move.w    #$0213,d0
  459.             dc.w     $ABEB
  460.         EndM
  461.     ELSE
  462.         IMPORT_CFM_FUNCTION    DMGetDeskRegion
  463.     ENDIF
  464.  
  465. ;
  466. ; pascal OSErr DMRegisterNotifyProc(DMNotificationUPP notificationProc, ProcessSerialNumberPtr whichPSN)
  467. ;
  468.     IF ¬ GENERATINGCFM THEN
  469.         Macro
  470.         _DMRegisterNotifyProc
  471.             move.w    #$0414,d0
  472.             dc.w     $ABEB
  473.         EndM
  474.     ELSE
  475.         IMPORT_CFM_FUNCTION    DMRegisterNotifyProc
  476.     ENDIF
  477.  
  478. ;
  479. ; pascal OSErr DMRemoveNotifyProc(DMNotificationUPP notificationProc, ProcessSerialNumberPtr whichPSN)
  480. ;
  481.     IF ¬ GENERATINGCFM THEN
  482.         Macro
  483.         _DMRemoveNotifyProc
  484.             move.w    #$0415,d0
  485.             dc.w     $ABEB
  486.         EndM
  487.     ELSE
  488.         IMPORT_CFM_FUNCTION    DMRemoveNotifyProc
  489.     ENDIF
  490.  
  491. ;
  492. ; pascal OSErr DMQDIsMirroringCapable(Boolean *qdIsMirroringCapable)
  493. ;
  494.     IF ¬ GENERATINGCFM THEN
  495.         Macro
  496.         _DMQDIsMirroringCapable
  497.             move.w    #$0216,d0
  498.             dc.w     $ABEB
  499.         EndM
  500.     ELSE
  501.         IMPORT_CFM_FUNCTION    DMQDIsMirroringCapable
  502.     ENDIF
  503.  
  504. ;
  505. ; pascal OSErr DMCanMirrorNow(Boolean *canMirrorNow)
  506. ;
  507.     IF ¬ GENERATINGCFM THEN
  508.         Macro
  509.         _DMCanMirrorNow
  510.             move.w    #$0217,d0
  511.             dc.w     $ABEB
  512.         EndM
  513.     ELSE
  514.         IMPORT_CFM_FUNCTION    DMCanMirrorNow
  515.     ENDIF
  516.  
  517. ;
  518. ; pascal OSErr DMIsMirroringOn(Boolean *isMirroringOn)
  519. ;
  520.     IF ¬ GENERATINGCFM THEN
  521.         Macro
  522.         _DMIsMirroringOn
  523.             move.w    #$0218,d0
  524.             dc.w     $ABEB
  525.         EndM
  526.     ELSE
  527.         IMPORT_CFM_FUNCTION    DMIsMirroringOn
  528.     ENDIF
  529.  
  530. ;
  531. ; pascal OSErr DMMirrorDevices(GDHandle gD1, GDHandle gD2, Handle displayState)
  532. ;
  533.     IF ¬ GENERATINGCFM THEN
  534.         Macro
  535.         _DMMirrorDevices
  536.             move.w    #$0619,d0
  537.             dc.w     $ABEB
  538.         EndM
  539.     ELSE
  540.         IMPORT_CFM_FUNCTION    DMMirrorDevices
  541.     ENDIF
  542.  
  543. ;
  544. ; pascal OSErr DMUnmirrorDevice(GDHandle gDevice, Handle displayState)
  545. ;
  546.     IF ¬ GENERATINGCFM THEN
  547.         Macro
  548.         _DMUnmirrorDevice
  549.             move.w    #$041A,d0
  550.             dc.w     $ABEB
  551.         EndM
  552.     ELSE
  553.         IMPORT_CFM_FUNCTION    DMUnmirrorDevice
  554.     ENDIF
  555.  
  556. ;
  557. ; pascal OSErr DMGetNextMirroredDevice(GDHandle gDevice, GDHandle *mirroredDevice)
  558. ;
  559.     IF ¬ GENERATINGCFM THEN
  560.         Macro
  561.         _DMGetNextMirroredDevice
  562.             move.w    #$041B,d0
  563.             dc.w     $ABEB
  564.         EndM
  565.     ELSE
  566.         IMPORT_CFM_FUNCTION    DMGetNextMirroredDevice
  567.     ENDIF
  568.  
  569. ;
  570. ; pascal OSErr DMBlockMirroring(void)
  571. ;
  572.     IF ¬ GENERATINGCFM THEN
  573.         Macro
  574.         _DMBlockMirroring
  575.             moveq    #28,d0
  576.             dc.w     $ABEB
  577.         EndM
  578.     ELSE
  579.         IMPORT_CFM_FUNCTION    DMBlockMirroring
  580.     ENDIF
  581.  
  582. ;
  583. ; pascal OSErr DMUnblockMirroring(void)
  584. ;
  585.     IF ¬ GENERATINGCFM THEN
  586.         Macro
  587.         _DMUnblockMirroring
  588.             moveq    #29,d0
  589.             dc.w     $ABEB
  590.         EndM
  591.     ELSE
  592.         IMPORT_CFM_FUNCTION    DMUnblockMirroring
  593.     ENDIF
  594.  
  595. ;
  596. ; pascal OSErr DMGetDisplayMgrA5World(Ptr *dmA5)
  597. ;
  598.     IF ¬ GENERATINGCFM THEN
  599.         Macro
  600.         _DMGetDisplayMgrA5World
  601.             move.w    #$021E,d0
  602.             dc.w     $ABEB
  603.         EndM
  604.     ELSE
  605.         IMPORT_CFM_FUNCTION    DMGetDisplayMgrA5World
  606.     ENDIF
  607.  
  608. ;
  609. ; pascal OSErr DMGetDisplayIDByGDevice(GDHandle displayDevice, DisplayIDType *displayID, Boolean failToMain)
  610. ;
  611.     IF ¬ GENERATINGCFM THEN
  612.         Macro
  613.         _DMGetDisplayIDByGDevice
  614.             move.w    #$051F,d0
  615.             dc.w     $ABEB
  616.         EndM
  617.     ELSE
  618.         IMPORT_CFM_FUNCTION    DMGetDisplayIDByGDevice
  619.     ENDIF
  620.  
  621. ;
  622. ; pascal OSErr DMGetGDeviceByDisplayID(DisplayIDType displayID, GDHandle *displayDevice, Boolean failToMain)
  623. ;
  624.     IF ¬ GENERATINGCFM THEN
  625.         Macro
  626.         _DMGetGDeviceByDisplayID
  627.             move.w    #$0520,d0
  628.             dc.w     $ABEB
  629.         EndM
  630.     ELSE
  631.         IMPORT_CFM_FUNCTION    DMGetGDeviceByDisplayID
  632.     ENDIF
  633.  
  634. ;
  635. ; pascal OSErr DMSetDisplayComponent(GDHandle theDevice, Component displayComponent)
  636. ;
  637.     IF ¬ GENERATINGCFM THEN
  638.         Macro
  639.         _DMSetDisplayComponent
  640.             move.w    #$0421,d0
  641.             dc.w     $ABEB
  642.         EndM
  643.     ELSE
  644.         IMPORT_CFM_FUNCTION    DMSetDisplayComponent
  645.     ENDIF
  646.  
  647. ;
  648. ; pascal OSErr DMGetDisplayComponent(GDHandle theDevice, Component *displayComponent)
  649. ;
  650.     IF ¬ GENERATINGCFM THEN
  651.         Macro
  652.         _DMGetDisplayComponent
  653.             move.w    #$0422,d0
  654.             dc.w     $ABEB
  655.         EndM
  656.     ELSE
  657.         IMPORT_CFM_FUNCTION    DMGetDisplayComponent
  658.     ENDIF
  659.  
  660. ;
  661. ; pascal OSErr DMNewDisplay(GDHandle *newDevice, short driverRefNum, unsigned long mode, unsigned long reserved, DisplayIDType displayID, Component displayComponent, Handle displayState)
  662. ;
  663.     IF ¬ GENERATINGCFM THEN
  664.         Macro
  665.         _DMNewDisplay
  666.             move.w    #$0D23,d0
  667.             dc.w     $ABEB
  668.         EndM
  669.     ELSE
  670.         IMPORT_CFM_FUNCTION    DMNewDisplay
  671.     ENDIF
  672.  
  673. ;
  674. ; pascal OSErr DMDisposeDisplay(GDHandle disposeDevice, Handle displayState)
  675. ;
  676.     IF ¬ GENERATINGCFM THEN
  677.         Macro
  678.         _DMDisposeDisplay
  679.             move.w    #$0424,d0
  680.             dc.w     $ABEB
  681.         EndM
  682.     ELSE
  683.         IMPORT_CFM_FUNCTION    DMDisposeDisplay
  684.     ENDIF
  685.  
  686. ;
  687. ; pascal OSErr DMResolveDisplayComponents(void)
  688. ;
  689.     IF ¬ GENERATINGCFM THEN
  690.         Macro
  691.         _DMResolveDisplayComponents
  692.             moveq    #37,d0
  693.             dc.w     $ABEB
  694.         EndM
  695.     ELSE
  696.         IMPORT_CFM_FUNCTION    DMResolveDisplayComponents
  697.     ENDIF
  698.  
  699. ;
  700. ; pascal OSErr DMRegisterExtendedNotifyProc(DMExtendedNotificationUPP notifyProc, void *notifyUserData, unsigned short nofifyOnFlags, ProcessSerialNumberPtr whichPSN)
  701. ;
  702.     IF ¬ GENERATINGCFM THEN
  703.         Macro
  704.         _DMRegisterExtendedNotifyProc
  705.             move.w    #$07EF,d0
  706.             dc.w     $ABEB
  707.         EndM
  708.     ELSE
  709.         IMPORT_CFM_FUNCTION    DMRegisterExtendedNotifyProc
  710.     ENDIF
  711.  
  712. ;
  713. ; pascal OSErr DMRemoveExtendedNotifyProc(DMExtendedNotificationUPP notifyProc, void *notifyUserData, ProcessSerialNumberPtr whichPSN, unsigned short removeFlags)
  714. ;
  715.     IF ¬ GENERATINGCFM THEN
  716.         Macro
  717.         _DMRemoveExtendedNotifyProc
  718.             move.w    #$0726,d0
  719.             dc.w     $ABEB
  720.         EndM
  721.     ELSE
  722.         IMPORT_CFM_FUNCTION    DMRemoveExtendedNotifyProc
  723.     ENDIF
  724.  
  725. ;
  726. ; pascal OSErr DMNewAVPanelList(DisplayIDType displayID, ResType panelType, DMFidelityType minimumFidelity, unsigned long panelListFlags, unsigned long reserved, DMListIndexType *thePanelCount, DMListType *thePanelList)
  727. ;
  728.     IF ¬ GENERATINGCFM THEN
  729.         Macro
  730.         _DMNewAVPanelList
  731.             move.w    #$0C27,d0
  732.             dc.w     $ABEB
  733.         EndM
  734.     ELSE
  735.         IMPORT_CFM_FUNCTION    DMNewAVPanelList
  736.     ENDIF
  737.  
  738. ;
  739. ; pascal OSErr DMNewAVEngineList(DisplayIDType displayID, ResType engineType, DMFidelityType minimumFidelity, unsigned long engineListFlags, unsigned long reserved, DMListIndexType *engineCount, DMListType *engineList)
  740. ;
  741.     IF ¬ GENERATINGCFM THEN
  742.         Macro
  743.         _DMNewAVEngineList
  744.             move.w    #$0C28,d0
  745.             dc.w     $ABEB
  746.         EndM
  747.     ELSE
  748.         IMPORT_CFM_FUNCTION    DMNewAVEngineList
  749.     ENDIF
  750.  
  751. ;
  752. ; pascal OSErr DMNewAVDeviceList(ResType deviceType, unsigned long deviceListFlags, unsigned long reserved, DMListIndexType *deviceCount, DMListType *deviceList)
  753. ;
  754.     IF ¬ GENERATINGCFM THEN
  755.         Macro
  756.         _DMNewAVDeviceList
  757.             move.w    #$0A29,d0
  758.             dc.w     $ABEB
  759.         EndM
  760.     ELSE
  761.         IMPORT_CFM_FUNCTION    DMNewAVDeviceList
  762.     ENDIF
  763.  
  764. ;
  765. ; pascal OSErr DMNewAVPortListByPortType(ResType subType, unsigned long portListFlags, unsigned long reserved, DMListIndexType *devicePortCount, DMListType *theDevicePortList)
  766. ;
  767.     IF ¬ GENERATINGCFM THEN
  768.         Macro
  769.         _DMNewAVPortListByPortType
  770.             move.w    #$0A2A,d0
  771.             dc.w     $ABEB
  772.         EndM
  773.     ELSE
  774.         IMPORT_CFM_FUNCTION    DMNewAVPortListByPortType
  775.     ENDIF
  776.  
  777. ;
  778. ; pascal OSErr DMGetIndexedComponentFromList(DMListType panelList, DMListIndexType itemIndex, unsigned long reserved, DMComponentListIteratorUPP listIterator, void *userData)
  779. ;
  780.     IF ¬ GENERATINGCFM THEN
  781.         Macro
  782.         _DMGetIndexedComponentFromList
  783.             move.w    #$0A2B,d0
  784.             dc.w     $ABEB
  785.         EndM
  786.     ELSE
  787.         IMPORT_CFM_FUNCTION    DMGetIndexedComponentFromList
  788.     ENDIF
  789.  
  790. ;
  791. ; pascal OSErr DMDisposeList(DMListType panelList)
  792. ;
  793.     IF ¬ GENERATINGCFM THEN
  794.         Macro
  795.         _DMDisposeList
  796.             move.w    #$022C,d0
  797.             dc.w     $ABEB
  798.         EndM
  799.     ELSE
  800.         IMPORT_CFM_FUNCTION    DMDisposeList
  801.     ENDIF
  802.  
  803. ;
  804. ; pascal OSErr DMGetNameByAVID(AVIDType theID, unsigned long nameFlags, Str255 *name)
  805. ;
  806.     IF ¬ GENERATINGCFM THEN
  807.         Macro
  808.         _DMGetNameByAVID
  809.             move.w    #$062D,d0
  810.             dc.w     $ABEB
  811.         EndM
  812.     ELSE
  813.         IMPORT_CFM_FUNCTION    DMGetNameByAVID
  814.     ENDIF
  815.  
  816. ;
  817. ; pascal OSErr DMNewAVIDByPortComponent(Component thePortComponent, ResType portKind, unsigned long reserved, AVIDType *newID)
  818. ;
  819.     IF ¬ GENERATINGCFM THEN
  820.         Macro
  821.         _DMNewAVIDByPortComponent
  822.             move.w    #$082E,d0
  823.             dc.w     $ABEB
  824.         EndM
  825.     ELSE
  826.         IMPORT_CFM_FUNCTION    DMNewAVIDByPortComponent
  827.     ENDIF
  828.  
  829. ;
  830. ; pascal OSErr DMGetPortComponentByAVID(DisplayIDType thePortID, Component *thePortComponent, ComponentDescription *theDesciption, ResType *thePortKind)
  831. ;
  832.     IF ¬ GENERATINGCFM THEN
  833.         Macro
  834.         _DMGetPortComponentByAVID
  835.             move.w    #$082F,d0
  836.             dc.w     $ABEB
  837.         EndM
  838.     ELSE
  839.         IMPORT_CFM_FUNCTION    DMGetPortComponentByAVID
  840.     ENDIF
  841.  
  842. ;
  843. ; pascal OSErr DMSendDependentNotification(ResType notifyType, ResType notifyClass, AVIDType displayID, ComponentInstance notifyComponent)
  844. ;
  845.     IF ¬ GENERATINGCFM THEN
  846.         Macro
  847.         _DMSendDependentNotification
  848.             move.w    #$0A30,d0
  849.             dc.w     $ABEB
  850.         EndM
  851.     ELSE
  852.         IMPORT_CFM_FUNCTION    DMSendDependentNotification
  853.     ENDIF
  854.  
  855. ;
  856. ; pascal OSErr DMDisposeAVComponent(Component theAVComponent)
  857. ;
  858.     IF ¬ GENERATINGCFM THEN
  859.         Macro
  860.         _DMDisposeAVComponent
  861.             move.w    #$0231,d0
  862.             dc.w     $ABEB
  863.         EndM
  864.     ELSE
  865.         IMPORT_CFM_FUNCTION    DMDisposeAVComponent
  866.     ENDIF
  867.  
  868. ;
  869. ; pascal OSErr DMSaveScreenPrefs(unsigned long reserved1, unsigned long saveFlags, unsigned long reserved2)
  870. ;
  871.     IF ¬ GENERATINGCFM THEN
  872.         Macro
  873.         _DMSaveScreenPrefs
  874.             move.w    #$0632,d0
  875.             dc.w     $ABEB
  876.         EndM
  877.     ELSE
  878.         IMPORT_CFM_FUNCTION    DMSaveScreenPrefs
  879.     ENDIF
  880.  
  881. ;
  882. ; pascal OSErr DMNewAVIDByDeviceComponent(Component theDeviceComponent, ResType portKind, unsigned long reserved, DisplayIDType *newID)
  883. ;
  884.     IF ¬ GENERATINGCFM THEN
  885.         Macro
  886.         _DMNewAVIDByDeviceComponent
  887.             move.w    #$0833,d0
  888.             dc.w     $ABEB
  889.         EndM
  890.     ELSE
  891.         IMPORT_CFM_FUNCTION    DMNewAVIDByDeviceComponent
  892.     ENDIF
  893.  
  894. ;
  895. ; pascal OSErr DMNewAVPortListByDeviceAVID(AVIDType theID, DMFidelityType minimumFidelity, unsigned long portListFlags, unsigned long reserved, DMListIndexType *devicePortCount, DMListType *theDevicePortList)
  896. ;
  897.     IF ¬ GENERATINGCFM THEN
  898.         Macro
  899.         _DMNewAVPortListByDeviceAVID
  900.             move.w    #$0C34,d0
  901.             dc.w     $ABEB
  902.         EndM
  903.     ELSE
  904.         IMPORT_CFM_FUNCTION    DMNewAVPortListByDeviceAVID
  905.     ENDIF
  906.  
  907. ;
  908. ; pascal OSErr DMGetDeviceComponentByAVID(AVIDType theDeviceID, Component *theDeviceComponent, ComponentDescription *theDesciption, ResType *theDeviceKind)
  909. ;
  910.     IF ¬ GENERATINGCFM THEN
  911.         Macro
  912.         _DMGetDeviceComponentByAVID
  913.             move.w    #$0835,d0
  914.             dc.w     $ABEB
  915.         EndM
  916.     ELSE
  917.         IMPORT_CFM_FUNCTION    DMGetDeviceComponentByAVID
  918.     ENDIF
  919.  
  920. ;
  921. ; pascal OSErr DMNewDisplayModeList(DisplayIDType displayID, unsigned long modeListFlags, unsigned long reserved, DMListIndexType *thePanelCount, DMListType *thePanelList)
  922. ;
  923.     IF ¬ GENERATINGCFM THEN
  924.         Macro
  925.         _DMNewDisplayModeList
  926.             move.w    #$0A36,d0
  927.             dc.w     $ABEB
  928.         EndM
  929.     ELSE
  930.         IMPORT_CFM_FUNCTION    DMNewDisplayModeList
  931.     ENDIF
  932.  
  933. ;
  934. ; pascal OSErr DMGetIndexedDisplayModeFromList(DMListType panelList, DMListIndexType itemIndex, unsigned long reserved, DMDisplayModeListIteratorUPP listIterator, void *userData)
  935. ;
  936.     IF ¬ GENERATINGCFM THEN
  937.         Macro
  938.         _DMGetIndexedDisplayModeFromList
  939.             move.w    #$0A37,d0
  940.             dc.w     $ABEB
  941.         EndM
  942.     ELSE
  943.         IMPORT_CFM_FUNCTION    DMGetIndexedDisplayModeFromList
  944.     ENDIF
  945.  
  946. ;
  947. ; pascal OSErr DMGetGraphicInfoByAVID(AVIDType theID, PicHandle *theAVPcit, Handle *theAVIconSuite, AVLocationRec *theAVLocation)
  948. ;
  949.     IF ¬ GENERATINGCFM THEN
  950.         Macro
  951.         _DMGetGraphicInfoByAVID
  952.             move.w    #$0838,d0
  953.             dc.w     $ABEB
  954.         EndM
  955.     ELSE
  956.         IMPORT_CFM_FUNCTION    DMGetGraphicInfoByAVID
  957.     ENDIF
  958.  
  959. ;
  960. ; pascal OSErr DMGetAVPowerState(AVIDType theID, AVPowerStatePtr getPowerState, unsigned long reserved1)
  961. ;
  962.     IF ¬ GENERATINGCFM THEN
  963.         Macro
  964.         _DMGetAVPowerState
  965.             move.w    #$0839,d0
  966.             dc.w     $ABEB
  967.         EndM
  968.     ELSE
  969.         IMPORT_CFM_FUNCTION    DMGetAVPowerState
  970.     ENDIF
  971.  
  972. ;
  973. ; pascal OSErr DMSetAVPowerState(AVIDType theID, AVPowerStatePtr setPowerState, unsigned long powerFlags, Handle displayState)
  974. ;
  975.     IF ¬ GENERATINGCFM THEN
  976.         Macro
  977.         _DMSetAVPowerState
  978.             move.w    #$083A,d0
  979.             dc.w     $ABEB
  980.         EndM
  981.     ELSE
  982.         IMPORT_CFM_FUNCTION    DMSetAVPowerState
  983.     ENDIF
  984.  
  985. ;
  986. ; pascal OSErr DMGetDeviceAVIDByPortAVID(AVIDType portAVID, AVIDType *deviceAVID)
  987. ;
  988.     IF ¬ GENERATINGCFM THEN
  989.         Macro
  990.         _DMGetDeviceAVIDByPortAVID
  991.             move.w    #$043B,d0
  992.             dc.w     $ABEB
  993.         EndM
  994.     ELSE
  995.         IMPORT_CFM_FUNCTION    DMGetDeviceAVIDByPortAVID
  996.     ENDIF
  997.  
  998. ;
  999. ; pascal OSErr DMGetEnableByAVID(AVIDType theAVID, Boolean *isAVIDEnabledNow, Boolean *canChangeEnableNow)
  1000. ;
  1001.     IF ¬ GENERATINGCFM THEN
  1002.         Macro
  1003.         _DMGetEnableByAVID
  1004.             move.w    #$063C,d0
  1005.             dc.w     $ABEB
  1006.         EndM
  1007.     ELSE
  1008.         IMPORT_CFM_FUNCTION    DMGetEnableByAVID
  1009.     ENDIF
  1010.  
  1011. ;
  1012. ; pascal OSErr DMSetEnableByAVID(AVIDType theAVID, Boolean doEnable, Handle displayState)
  1013. ;
  1014.     IF ¬ GENERATINGCFM THEN
  1015.         Macro
  1016.         _DMSetEnableByAVID
  1017.             move.w    #$053D,d0
  1018.             dc.w     $ABEB
  1019.         EndM
  1020.     ELSE
  1021.         IMPORT_CFM_FUNCTION    DMSetEnableByAVID
  1022.     ENDIF
  1023.  
  1024. ;
  1025. ; pascal OSErr DMGetDisplayMode(GDHandle theDevice, VDSwitchInfoPtr switchInfo)
  1026. ;
  1027.     IF ¬ GENERATINGCFM THEN
  1028.         Macro
  1029.         _DMGetDisplayMode
  1030.             move.w    #$043E,d0
  1031.             dc.w     $ABEB
  1032.         EndM
  1033.     ELSE
  1034.         IMPORT_CFM_FUNCTION    DMGetDisplayMode
  1035.     ENDIF
  1036.  
  1037.     ENDIF ; __DISPLAYS__
  1038.